const mongoose = require('mongoose')

const Schema = mongoose.Schema; // Schema模板

// 数据库连接
mongoose.connect('mongodb://localhost/blog', {
  useNewUrlParser: true,
  useUnifiedTopology: true
});

// 模板设计
const userSchema = new Schema({
  email: { // 邮箱
    type: String,
    required: true
  },
  nickname: { // 昵称
    type: String,
    required: true
  },
  password: { // 密码
    type: String,
    required: true
  },
  created_data: { // 创建日期
    type: Date,
    // 这里需要注意的是： 如果直接调用方法就会执行的时候就加载
    // 用实例化调用会默认在default执行并加载
    default: new Date
  },
  last_modified_data: { // 最后修改日期
    type: Date,
    default: Date.now
  },
  avatar: { // 默认头像
    type: String,
    default: 'public/img/avatar-max-img.png'
  },
  bio: { // 个人简介
    type: String,
    default: ''
  },
  gender: { // 性别
    type: Number,
    default: -1,
    enum: [-1, 0, 1]
  },
  birthday: { // 生日
    type: Date
  },
  status: {
    type: Number,
    // 0 无限制   1禁止评论   2禁止登陆
    enum: [0, 1, 2]
  }
});

module.exports = mongoose.model('User', userSchema); // 导出模板使用